package com.letian.record.domain;

import java.util.List;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.letian.common.annotation.Excel;
import com.letian.common.core.domain.BaseEntity;

/**
 * 记录人际关系对象 record_person
 *
 * @author bmz
 * @date 2023-01-15
 */
public class RecordPerson extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 编码
     */
    private Long personId;

    /**
     * 类型
     */
    @Excel(name = "类型")
    private String personType;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 性别
     */
    @Excel(name = "性别")
    private String sex;

    /**
     * 生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /**
     * 学校
     */
    @Excel(name = "学校")
    private String school;

    /**
     * 电话号码
     */
    @Excel(name = "电话号码")
    private String phoneNumber;

    /**
     * 邮箱
     */
    @Excel(name = "邮箱")
    private String email;

    /**
     * 拥有者
     */
    @Excel(name = "拥有者")
    private Long userId;

    /**
     * 删除标志
     */
    private String delFlag;

    /**
     * 更新次数
     */
    private Long updateCount;

    /**
     * 人物关系扩展信息信息
     */
    private List<RecordPersonExtension> recordPersonExtensionList;

    public void setPersonId(Long personId) {
        this.personId = personId;
    }

    public Long getPersonId() {
        return personId;
    }

    public void setPersonType(String personType) {
        this.personType = personType;
    }

    public String getPersonType() {
        return personType;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getSex() {
        return sex;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public String getSchool() {
        return school;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEmail() {
        return email;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setUpdateCount(Long updateCount) {
        this.updateCount = updateCount;
    }

    public Long getUpdateCount() {
        return updateCount;
    }

    public List<RecordPersonExtension> getRecordPersonExtensionList() {
        return recordPersonExtensionList;
    }

    public void setRecordPersonExtensionList(List<RecordPersonExtension> recordPersonExtensionList) {
        this.recordPersonExtensionList = recordPersonExtensionList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("personId", getPersonId())
                .append("personType", getPersonType())
                .append("name", getName())
                .append("sex", getSex())
                .append("birthday", getBirthday())
                .append("school", getSchool())
                .append("phoneNumber", getPhoneNumber())
                .append("email", getEmail())
                .append("userId", getUserId())
                .append("delFlag", getDelFlag())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("updateCount", getUpdateCount())
                .append("remark", getRemark())
                .append("recordPersonExtensionList", getRecordPersonExtensionList())
                .toString();
    }
}
